10 REM COPYRIGHT 1987 COMPUTE! PUBLICATIONS INC. - ALL RIGHTS RESERVED 20 POKE53280,11:POKE53281,0 30 PRINTCHR$(142)CHR$(8)"[147][158] COPYRIGHT 1987 COMPUTE! PUB., INC." 40 PRINTTAB(10)"ALL RIGHTS RESERVED":PRINT"READING DATA..." 50 FORI=1TO332:READA:X=X+A:NEXT:IFX<>42309THENPRINT"DATA STATEMENT ERROR.":STOP 60 DIMX(201),NA$(201),TL$(201):OPEN15,8,15:V=53248:RESTORE 70 POKE54296,15:POKE54272,132:POKE54273,225:POKE54277,0:POKE54278,240 80 POKE54279,134:POKE54280,33:POKE54284,15:POKE54285,250 90 POKE54286,106:POKE54287,110:POKE54291,30:POKE54292,0 100 FORS=832TO894:READD1:POKES,D1:NEXT:FORS=896TO958:READD2:POKES,D2:NEXT 110 POKE2040,13:POKE2041,14:POKEV+29,3:POKEV+23,3:POKEV+39,4:POKEV+40,4 120 POKEV+16,3:POKEV+0,20:POKEV+2,20:POKEV+1,138:POKEV+3,138 130 FORM=49152TO49357:READD3:POKEM,D3:NEXT 140 INPUT"[147]ENTER TIME OF DAY (HHMM)";A$:IFVAL(A$)>1259ORLEN(A$)<4THEN140 150 H1=VAL(LEFT$(A$,1)):H2=VAL(MID$(A$,2,1)) 160 M1=VAL(MID$(A$,3,1)):M2=VAL(RIGHT$(A$,1)) 170 PRINT""LEFT$(A$,2)":"RIGHT$(A$,2) 180 PRINT"IS THIS OK (Y/N)?" 190 GETD$:IFD$=""ORD$<>"N"ANDD$<>"Y"THEN190 200 IFD$="N"THEN140 210 POKE56331,(H1*16)+H2:POKE56330,(M1*16)+M2:POKE56329,0:POKE56328,0 220 IFFL=1THEN1320 230 POKE650,128:GOSUB240:GOTO310 240 LN$(1)="[192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192]" 250 LN$(2)=" [158][164][164][164][164][164][164]":LN$(3)=" [163][163][163][163][163][163]" 260 PRINT"[147][150][178]"LN$(1)"[178]"; 270 PRINT"[150][221] [155]EXERCISE PACER[150] [221]"; 280 PRINT"[150][177]"LN$(1)"[177]";:RETURN 290 PRINTLN$(2):PRINT" [167][205][164][164][164][164][206][165]":RETURN 300 PRINT" [167][206][163][163][163][163][205][180]":PRINTLN$(3):RETURN 310 GOSUB290:PRINT" [167][167] F1 [165][180] ENTER EXERCISES/SAVE":GOSUB300 320 GOSUB290:PRINT" [167][167] F3 [165][180] RECALL PROGRAM/EDIT/RUN":GOSUB300 330 GOSUB290:PRINT" [167][167] F5 [165][180] FORMAT DISKETTE":GOSUB300 340 GOSUB290:PRINT" [167][167] F7 [165][180] EXIT EXERCISE PACER":GOSUB300:GOSUB1710 350 GETD$:IFD$=""THEN350 360 D=ASC(D$)-132:IFD<1ORD>4THEN350 370 ONDGOTO530,890,380,480 380 PRINT"[147]YOU HAVE CHOSEN TO FORMAT A DATA" 390 PRINT"DISKETTE. ARE YOU SURE YOU WANT TO DO THIS (Y/N)?":GOSUB1710 400 GETD$:IFD$=""ORD$<>"Y"ANDD$<>"N"THEN400 410 IFD$="N"THEN220 420 PRINT"[147]INSERT YOUR DISK INTO THE DISK DRIVE." 430 PRINT"PRESS _ TO START FORMATTING.":GOSUB1710 440 GETD$:IFD$<>"_"THEN440 450 PRINT#15,"N0:EXERCISE DATA,01" 460 PRINT"[147][159]...FORMATTING DISKETTE" 470 GOSUB1660:GOTO220 480 PRINT"[147]YOU HAVE CHOSEN TO EXIT THE PROGRAM." 490 PRINT"ARE YOU SURE YOU WANT TO DO THIS (Y/N)?":GOSUB1710 500 GETD$:IFD$=""ORD$<>"Y"ANDD$<>"N"THEN500 510 IFD$="N"THEN220 520 CLOSE15:PRINT"[147]":END 530 NA$="":PRINT"[147]NAME OF EXERCISE PROGRAM:":INPUTNA$:IFNA$=""THEN220 540 IFLEN(NA$)>12THEN530 550 PRINT"[147]":NU=1 560 IFNU=200THEN660 570 PRINT"EVENT #"NU"NAME (ENTER END[146] TO STOP):":INPUTNA$(NU) 580 IFLEN(NA$(NU))>35THEN570 590 IFNA$(NU)="END"THENNA$(NU)="":X=NU-1:GOTO660 600 PRINT"[158]TIME LIMIT FOR EVENT #"NU"(MMSS):":INPUTTL$(NU) 610 IFLEN(TL$(NU))>4THEN600 620 PRINT"[154]ANY MISTAKES (Y/N)?":GOSUB1710 630 GETD$:IFD$=""ORD$<>"Y"ANDD$<>"N"THEN630 640 IFD$="Y"THEN570 650 NU=NU+1:GOTO560 660 PRINT"[147]EXERCISE PROGRAM:"NA$:PRINT"NUMBER OF EVENTS:"X 670 PRINT"INSERT YOUR DATA DISKETTE INTO" 680 PRINT"THE DRIVE. PRESS _ WHEN READY.":GOSUB1710 690 GETD$:IFD$<>"_"THEN690 700 PRINT"[147][159]...SAVING DATA" 710 OPEN1,8,5,"0:"+NA$+",S,W":FORNU=1TOX:PRINT#1,NA$(NU):PRINT#1,TL$(NU):NEXT 720 PRINT#1:CLOSE1:OPEN1,8,5,"0:"+NA$+".IDX,S,W":PRINT#1,X:PRINT#1:CLOSE1 730 GOSUB1660:IFE<>63THEN850 740 PRINT"[147]A FILE WITH THE SAME NAME AS[159]" 750 PRINTNA$" EXISTS ON THE DISK." 760 PRINT"DO YOU WISH TO REPLACE THE OLD FILE" 770 PRINT"WITH THE NEW (Y/N)?":GOSUB1710 780 GETD$:IFD$=""ORD$<>"Y"ANDD$<>"N"THEN780 790 IFD$="N"THEN820 800 PRINT"[147][159]...ERASING OLD FILE" 810 PRINT#15,"S0:"+NA$:PRINT#15,"S0:"+NA$+".IDX":GOTO700 820 PRINT"[147]ENTER NEW NAME FOR PROGRAM:":GOSUB1710:INPUTNA$ 830 IFLEN(NA$)>12THEN820 840 GOTO700 850 PRINT"[147]DO YOU WISH TO REPEAT SAVE (Y/N)?":GOSUB1710 860 GETD$:IFD$=""ORD$<>"Y"ANDD$<>"N"THEN860 870 IFD$="Y"THEN660 880 IFD$="N"THEN220 890 PRINT"[147]PLACE YOUR EXERCISE DATA DISKETTE" 900 PRINT"INTO THE DISK DRIVE. ENTER THE" 910 PRINT"WORKOUT PROGRAM YOU WANT TO RECALL.":GOSUB1710 920 NA$="":INPUTNA$:IFNA$=""THEN220 930 IFLEN(NA$)>12THEN920 940 PRINT"[147][159]...RECALLING FILE" 950 OPEN1,8,5,"0:"+NA$+".IDX,S,R":INPUT#1,X:CLOSE1 960 OPEN1,8,5,"0:"+NA$+",S,R":FORNU=1TOX:INPUT#1,NA$(NU),TL$(NU):NEXT:CLOSE1 970 GOSUB1660:IFE<>0THEN220 980 PRINT"[147]PRESS [158]R[146] TO RUN PACER" 990 PRINT" [158]E[146] TO EDIT/REVIEW PROGRAM.":GOSUB1710 1000 GETD$:IFD$=""ORD$<>"R"ANDD$<>"E"THEN1000 1010 IFD$="R"THEN1320 1020 NU=1 1030 PRINT"[147][159]PROGRAM: "NA$:PRINT"NUMBER OF EVENTS: "X 1040 PRINT"EVENT NAME:":PRINT""NA$(NU) 1050 PRINT"EVENT NUMBER:":PRINT""NU 1060 PRINT"[158]TIME LIMIT:":PRINT""TL$(NU) 1070 PRINT"PRESS TO SEE FIRST EVENT" 1080 PRINT"PRESS TO SEE NEXT EVENT" 1090 PRINT"PRESS TO SEE PREVIOUS EVENT" 1100 PRINT"PRESS TO SEE LAST EVENT" 1110 PRINT"PRESS TO ADD ADDITIONAL EVENTS" 1120 PRINT"PRESS TO EDIT" 1130 PRINT"[154]PRESS TO RUN PACER" 1140 PRINT"PRESS TO GO BACK TO MAIN MENU.":GOSUB1710 1150 GETD$:IFD$=""THEN1150 1160 IFD$="[133]"THENNU=1:GOTO1030 1170 IFD$="[134]"ANDNU<>400ANDNU1THENNU=NU-1:GOTO1030 1190 IFD$="[136]"THENNU=X:GOTO1030 1200 IFD$="A"THENNU=X+1:GOTO570 1210 IFD$="E"THEN1270 1220 IFD$="R"ANDFG=1THENFL=1:FG=0:GOTO660 1230 IFD$="M"ANDFG=1THENFG=0:GOTO660 1240 IFD$="R"THEN1320 1250 IFD$="M"THEN220 1260 GOTO1150 1270 FG=1:INPUT"ENTER NEW NAME:";NA$(NU) 1280 IFLEN(NA$(NU))>35THEN1270 1290 INPUT"[158]ENTER NEW TIME LIMIT (MMSS):";TL$(NU) 1300 IFLEN(TL$(NU))>4THEN1290 1310 GOTO1030 1320 FL=0:FG=0:PRINT"[147]" 1330 PRINT" PRESS SPACE BAR TO START PACER!":D=200:GOSUB1760 1340 GETD$:IFD$=CHR$(32)THEN1370 1350 PRINT" PRESS SPACE BAR TO START PACER!":D=200:GOSUB1760 1360 GOTO1330 1370 GOSUB1740:POKE650,0:DM=FRE(0):SYS49152:FORNU=1TOX:CG=0 1380 PRINT"[147][158]TIME OF DAY: " 1390 PRINT"[158]EXERCISE:":PRINT" "NA$(NU) 1400 PRINT"[158]EVENT #:"NU:PRINT"[158]EVENTS TO GO:"X-NU 1410 PRINT"[158]TIME LIMIT: "MID$(TL$(NU),1,2)":"MID$(TL$(NU),3,2) 1420 PRINT"[158]TIME ELAPSED: ":POKE56587,0:POKE56586,0:POKE56585,0:POKE56584,0 1430 PRINT"[158]UP NEXT:":PRINT" [153]"NA$(NU+1) 1440 PRINTSPC(9)"[159]PRESS TO PAUSE" 1450 PRINTSPC(4)"PRESS <^> TO JUMP TO NEXT EVENT" 1460 PRINTSPC(2)"KEEP PRESSING <_> TO ABORT EXERCISE" 1470 GOSUB1510:GOSUB1570 1480 GETD$:IFD$="_"THENGOSUB1550:GOTO220 1490 IFCG=1THENNEXT:GOTO1560 1500 GOTO1470 1510 ZF=0:FORZ=1TO4:IFPEEK(1019+Z)-48<>VAL(MID$(TL$(NU),Z,1))THENZF=1 1520 NEXT:IFZFTHENRETURN 1530 GOSUB1720:CG=1:RETURN 1540 GOTO1390 1550 POKE56333,127:POKE788,49:POKE789,234:POKE56333,129:RETURN 1560 GOSUB1550:PRINT"[147] YOU'RE DONE!":GOSUB1740:GOTO220 1570 GETD$:IFD$=""THENRETURN 1580 IFD$=CHR$(32)THEN1610 1590 IFD$="^"THENCG=1:RETURN 1600 RETURN 1610 POKE198,0 1620 POKE56587,0:POKE56586,(PEEK(1020)-48)*16+PEEK(1021)-48 1630 POKE56585,(PEEK(1022)-48)*16+PEEK(1023)-48 1640 GETD$:IFD$<>CHR$(32)THEN1620 1650 POKE56584,0:RETURN 1660 INPUT#15,E,E$:IFE=0THENRETURN 1670 PRINT"[147][159]DISK STATUS:":PRINT"[154]NUMBER","ERROR":PRINT"[153]"E,E$ 1680 PRINT"PRESS C TO CONTINUE.":GOSUB1710 1690 GETD$:IFD$<>"C"THEN1690 1700 RETURN 1710 POKE54276,17:D=200:GOSUB1760:POKE54276,16:RETURN 1720 FORR=1TO5:POKE54283,33:POKEV+21,1:D=800:GOSUB1760 1730 POKEV+21,2:POKE54283,32:D=800:GOSUB1760:NEXT:POKEV+21,0:RETURN 1740 FORR=1TO40:POKE54290,21:D=50:GOSUB1760:POKE54290,20:D=50:GOSUB1760:NEXT 1750 RETURN 1760 FORY=1TOD:NEXT:RETURN 1770 DATA255,255,255,255,255,255,255,255,255,224,0,7,224,60,7,224 1780 DATA60,7,226,60,71,225,24,135,224,153,7,224,126,7,224,24 1790 DATA7,224,24,7,224,24,7,224,24,7,224,60,7,224,66,7 1800 DATA224,129,7,224,0,7,255,255,255,255,255,255,255,255,255 1810 DATA255,255,255,255,255,255,255,255,255,224,0,7,224,60,7,224 1820 DATA60,7,224,60,7,224,24,7,224,24,7,224,126,7,224,153 1830 DATA7,225,24,135,226,24,71,224,24,7,224,126,7,224,36,7 1840 DATA224,36,7,224,0,7,255,255,255,255,255,255,255,255,255 1850 DATA169,167,141,7,3,169,237,141,40,3,120,169,23,141,20,3,169,192 1860 DATA141,21,3,88,96,160,0,169,10,153,213,216,200,192,10,208,248,160 1870 DATA0,169,1,153,142,218,200,192,5,208,248,173,11,220,41,16,32,197 1880 DATA192,141,213,4,173,11,220,41,15,32,202,192,141,214,4,169, 58,141 1890 DATA215,4,141,218,4,141,221,4,141,144,6,173,10,220,41,240,32,197 1900 DATA192,141,216,4,173,10,221,41,240,32,197,192,141,252,3,141,142,6 1910 DATA173,10,220,41,15,32,202,192,141,217,4,173,10,221,41,15,32,202 1920 DATA192,141,253,3,141,143,6,173,9,220,41,240,32,197,192,141,219,4 1930 DATA173,9,221,41,240,32,197,192,141,254,3,141,145,6,173,9,220,41 1940 DATA15,32,202,192,141,220,4,173,9,221,41,15,32,202,192,141,255,3 1950 DATA141,146,6,173,8,220,41,15,32,202,192,141,222,4,76,49,234,24 1960 DATA74,74,74,74,24,105,48,96